home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Celestin Apprentice 5
/
Apprentice-Release5.iso
/
Source Code
/
C++
/
Frameworks
/
Sprocket Framework DR2
/
Sprocket Framework Interfaces
/
AGFile.h
< prev
next >
Wrap
Text File
|
1996-06-12
|
4KB
|
164 lines
/***************************************************************************************
File: AGFile.h
Contains: Public interface to Apple Guide Database Files.
Does not use or require the Apple Guide extension.
Written by: John R. Powers, III
Copyright: ©1994 by Apple Computer, Inc. All rights reserved.
Change History (most recent first):
<3> 27-Aug-94 JRP Make file conforming by removing tag from #endif statement.
Add #ifdef __cplusplus.
Change AGFileDBMenuNamePtr from ConstStr63Param to Str63.
<2> 23-Mar-94 JRP Add:
AGFileGetHelpMenuAppCreator
AGFileGetMixinMatchSelector
AGFileGetHelpMenuBalloonText
<1> 24-Jan-94 JRP Initial check-in
***************************************************************************************/
#ifndef __AGFILE__
#define __AGFILE__
#ifndef __FILES__
#include <Files.h>
#endif
#ifndef __TYPES__
#include <Types.h>
#endif
// typedef's
typedef FSSpec AGFileFSSpecType;
typedef short AGFileSelectorCountType;
typedef short AGFileSelectorIndexType;
typedef OSType AGFileSelectorType;
typedef long AGFileSelectorValueType;
typedef short AGFileDBType;
typedef Str63 AGFileDBMenuNamePtr;
typedef short AGFileDBScriptType;
typedef short AGFileDBRegionType;
typedef short AGFileMajorRevType;
typedef short AGFileMinorRevType;
typedef short AGFileCountType;
// Database types (for AGFileDBType parameter).
enum
{
kAGFileDBTypeAny = 0,
kAGFileDBTypeHelp = 1,
kAGFileDBTypeTutorial = 2,
kAGFileDBTypeShortcuts = 3,
kAGFileDBTypeAbout = 4,
kAGFileDBTypeOther = 8
};
// Functions.
#ifdef __cplusplus
extern "C" {
#endif
// Get the database menu item name.
pascal OSErr
AGFileGetDBMenuName(AGFileFSSpecType *fileSpec,
AGFileDBMenuNamePtr menuItemNameString);
// Get the database type.
pascal OSErr
AGFileGetDBType(AGFileFSSpecType *fileSpec,
AGFileDBType *databaseType);
// Get the version of the software
// that created this database.
pascal OSErr
AGFileGetDBVersion(AGFileFSSpecType *fileSpec,
AGFileMajorRevType *majorRev,
AGFileMinorRevType *minorRev);
// Get the database script and region information.
pascal OSErr
AGFileGetDBCountry(AGFileFSSpecType *fileSpec,
AGFileDBScriptType *script,
AGFileDBRegionType *region);
// Return the number of selectors in database.
pascal AGFileSelectorCountType
AGFileGetSelectorCount(AGFileFSSpecType *fileSpec);
// Get the i-th database selector (1 to AGFileSelectorCountType)
// and its value.
pascal OSErr
AGFileGetSelector(AGFileFSSpecType *fileSpec,
AGFileSelectorIndexType selectorNumber,
AGFileSelectorType *selector,
AGFileSelectorValueType *value);
// Return true if database is mixin.
pascal Boolean
AGFileIsMixin(AGFileFSSpecType *fileSpec);
// Return the number of database files
// of the specified databaseType and main/mixin.
// Any file creator is acceptible,
// but type must be kAGFileMain or kAGFileMixin.
pascal AGFileCountType
AGFileGetDBCount(short vRefNum,
long dirID,
AGFileDBType databaseType,
Boolean wantMixin);
// Get the FSSpec for the dbIndex-th database
// of the specified databaseType and main/mixin.
// Any file creator is acceptible,
// but type must be kAGFileMain or kAGFileMixin.
pascal OSErr
AGFileGetIndDB(short vRefNum,
long dirID,
AGFileDBType databaseType,
Boolean wantMixin,
short dbIndex,
FSSpec *fileSpec);
// This selector must match with the application
// creator in order for this file to appear in the
// application's Help menu. Ignored for mixin files
// because they never appear in the Help menu anyway.
// If empty (zeros), will appear in the Help menu
// of any host application.
pascal OSErr
AGFileGetHelpMenuAppCreator(AGFileFSSpecType *fileSpec,
OSType *helpMenuAppCreator);
// This selector must match in the main and mixin
// files in order for the mixin to mix-in with the main.
// Empty (zeros) selectors are valid matches.
// A '****' selector will mix-in with any main.
pascal OSErr
AGFileGetMixinMatchSelector(AGFileFSSpecType *fileSpec,
OSType *mixinMatchSelector);
// This is the text of the balloon for the
// Help menu item for this database.
pascal OSErr
AGFileGetHelpMenuBalloonText(AGFileFSSpecType *fileSpec,
Str255 helpMenuBalloonString);
OSErr
AGGetSystemDB(AGFileDBType databaseType, Boolean wantMixin,
FSSpec *pFileSpec);
#ifdef __cplusplus
}
#endif
#endif // __AGFILE__